/*
 * Copyright (C) 2017-2021
 * All rights reserved, Designed By
 * Copyright authorization contact 18814114118
 */
package com.shop.cereshop.business.param.shop;

import com.shop.cereshop.commons.domain.shop.CereShopLogoTitle;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 店铺认证流程参数
 */
@Data
@ApiModel(value = "ShopCertificationFlowParam", description = "店铺认证流程参数")
public class ShopCertificationFlowParam {

    /**
     * 认证流程ID
     */
    @ApiModelProperty(value = "认证流程ID")
    private String flowId;

    /**
     * 店铺类型 1-普通企业店 2-个体工商户 3-品牌旗舰店 4-其他组织
     */
    @NotNull(message = "店铺类型不能为空")
    @ApiModelProperty(value = "店铺类型 1-普通企业店 2-个体工商户 3-品牌旗舰店 4-其他组织")
    private Integer shopType;

    /**
     * 营业执照图片URL
     */
    @NotBlank(message = "营业执照图片URL不能为空")
    @ApiModelProperty(value = "营业执照图片URL")
    private String businessLicenseUrl;

    /**
     * 身份证正面照URL
     */
    @NotBlank(message = "身份证正面照URL不能为空")
    @ApiModelProperty(value = "身份证正面照URL")
    private String idCardFrontUrl;

    /**
     * 身份证反面照URL
     */
    @NotBlank(message = "身份证反面照URL不能为空")
    @ApiModelProperty(value = "身份证反面照URL")
    private String idCardBackUrl;

    /**
     * 品牌授权书图片URL（品牌旗舰店必填）
     */
    @ApiModelProperty(value = "品牌授权书图片URL（品牌旗舰店必填）")
    private String brandAuthorizationUrl;

    /**
     * 商标注册证图片URL（品牌旗舰店必填）
     */
    @ApiModelProperty(value = "商标注册证图片URL（品牌旗舰店必填）")
    private String trademarkCertificateUrl;

    /**
     * 经营地址
     */
    @NotBlank(message = "经营地址不能为空")
    @ApiModelProperty(value = "经营地址")
    private String businessAddress;

    /**
     * 入驻人姓名
     */
    @NotBlank(message = "入驻人姓名不能为空")
    @ApiModelProperty(value = "入驻人姓名")
    private String applicantName;

    /**
     * 身份证号
     */
    @NotBlank(message = "身份证号不能为空")
    @ApiModelProperty(value = "身份证号")
    private String idCardNumber;

    /**
     * 手机号码
     */
    @NotBlank(message = "手机号码不能为空")
    @ApiModelProperty(value = "手机号码")
    private String phoneNumber;

    /**
     * 公司名称（普通企业店和品牌旗舰店必填）
     */
    @ApiModelProperty(value = "公司名称（普通企业店和品牌旗舰店必填）")
    private String companyName;

    /**
     * 统一社会信用代码（普通企业店和品牌旗舰店必填）
     */
    @ApiModelProperty(value = "统一社会信用代码（普通企业店和品牌旗舰店必填）")
    private String socialCreditCode;

    /**
     * 品牌名称（品牌旗舰店必填）
     */
    @ApiModelProperty(value = "品牌名称（品牌旗舰店必填）")
    private String brandName;

    /**
     * 商户名称（个体工商户必填）
     */
    @ApiModelProperty(value = "商户名称（个体工商户必填）")
    private String merchantName;

    /**
     * 人脸识别图片URL
     */
    @ApiModelProperty(value = "人脸识别图片URL")
    private String faceImageUrl;


    @ApiModelProperty(value="是否支持同城购0-否，1-是")
    private Integer isCityStore;

    @ApiModelProperty(value="是否支持电商购0-否，1-是")
    private Integer isOnlineStore;

    @ApiModelProperty(value="是否支持到店核销0-否，1-是")
    private Integer isInStore;

    @ApiModelProperty(value="同城配送-配送距离")
    private Integer cityStoreDistance;

    @ApiModelProperty(value="同城配送-营业状态0-打烊，1-营业")
    private Integer cityStoreIsserving;

    /**
     * 店铺头像标题列表（最多3个，对应同城购、电商购、到店核销）
     */
    @ApiModelProperty(value = "店铺头像标题列表，最多3个。如果支持同城购(isCityStore=1)需上传type=1的记录，" +
            "如果支持电商购(isOnlineStore=1)需上传type=2的记录，如果支持到店核销(isInStore=1)需上传type=3的记录")
    private List<CereShopLogoTitle> logoTitleList;
}
